package test1.run;

import service.ObjectService;
import extthread.ThreadA;
import extthread.ThreadB;


/**
　* @Description: TODO
　* @param ${tags}
　* @return ${return_type}
　* @throws
　* @author Merlin
　* @date 2018/6/22 9:21
　*/

/**
 * 在使用同步synchronized(this)代码块时需要注意的是，当一个线程访问object的一个synchronized(this)
 * 同步代码块时，其他线程对同一个object中所有其他synchronized(this)同步代码块的访问将被阻塞，
 * 这说明synchronized使用的“对象监视器”是一个。
 */
public class Run {

	public static void main(String[] args) {
		ObjectService service = new ObjectService();

		ThreadA a = new ThreadA(service);
		a.setName("a");
		a.start();

		ThreadB b = new ThreadB(service);
		b.setName("b");
		b.start();
	}

	/**
	 * 输出结果：
	 * A begin time=1529630990912
	   A end    end=1529630992913
	   B begin time=1529630992913
	   B end    end=1529630992913
	 *
	 */
}
